home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / basic / ubmalm.zip / cgcd.ub < prev    next >
Text File  |  1990-08-22  |  438b  |  14 lines

  1.    10   *Cgcd(A,B,&C,&Ca,&Cb)
  2.    20   ' Gcd with coefficients.  c is the gcd of a and b.
  3.    30   ' ca*a + cb*b = c     2 May  1990
  4.    40   local R,Q,T,Af,Bf,B1
  5.    50   Ca=1:B1=0:Af=A:Bf=B
  6.    60   while B
  7.    70   T=B:Q=A\B:B=res
  8.    80   R=Ca-Q*B1:Ca=B1:B1=R:A=T
  9.   100   wend
  10.   110   C=A
  11.   120   if Bf then T=C-Ca*Af:Cb=T\Bf else Cb=0 endif
  12.   160   if C<0 then neg C:neg Ca:neg Cb endif
  13.   170   return:' End of procedure Cgcd.
  14.